import {
	AlertTriangle,
	LucideIcon,
	LucideProps,
	User,
	VideoIcon,
} from "lucide-react";

export type Icon = LucideIcon;

export const LogoIcons = {
	nextjs: ({ ...props }: LucideProps) => (
		<svg
			aria-hidden="true"
			focusable="false"
			data-prefix="fab"
			data-icon="nextjs"
			role="img"
			xmlns="http://www.w3.org/2000/svg"
			viewBox="0 0 15 15"
			{...props}
		>
			<path
				fill="currentColor"
				d="m4.5 4.5l.405-.293A.5.5 0 0 0 4 4.5zm3 9.5A6.5 6.5 0 0 1 1 7.5H0A7.5 7.5 0 0 0 7.5 15zM14 7.5A6.5 6.5 0 0 1 7.5 14v1A7.5 7.5 0 0 0 15 7.5zM7.5 1A6.5 6.5 0 0 1 14 7.5h1A7.5 7.5 0 0 0 7.5 0zm0-1A7.5 7.5 0 0 0 0 7.5h1A6.5 6.5 0 0 1 7.5 1zM5 12V4.5H4V12zm-.905-7.207l6.5 9l.81-.586l-6.5-9zM10 4v6h1V4z"
			/>
		</svg>
	),
	scenify: ({ ...props }: LucideProps) => (
		<svg
			width="24"
			height="24"
			viewBox="0 0 24 24"
			fill="none"
			xmlns="http://www.w3.org/2000/svg"
			{...props}
		>
			<g opacity="0.800003">
				<mask
					id="mask0_251_117"
					maskUnits="userSpaceOnUse"
					x="1"
					y="4"
					width="15"
					height="16"
				>
					<path d="M1 3.99997H15.3935V19.0015H1V3.99997Z" fill="white" />
				</mask>
				<g mask="url(#mask0_251_117)">
					<path
						d="M1.94417 7.61938C2.57371 6.4796 3.45116 5.5914 4.57738 4.95451C5.70303 4.31819 6.97963 4.00017 8.40634 4.00017C10.155 4.00017 11.6516 4.4618 12.8968 5.38504C14.1412 6.30801 14.9737 7.5668 15.3935 9.16171H11.4489C11.1549 8.5463 10.7388 8.07761 10.2005 7.75592C9.66175 7.43451 9.04973 7.27309 8.3645 7.27309C7.25949 7.27309 6.36423 7.65811 5.679 8.42701C4.99349 9.19676 4.65087 10.2249 4.65087 11.5117C4.65087 12.7984 4.99349 13.8268 5.679 14.5958C6.36423 15.3652 7.25949 15.7497 8.3645 15.7497C9.04973 15.7497 9.66175 15.5891 10.2005 15.2671C10.7388 14.9454 11.1549 14.4773 11.4489 13.8616H15.3935C14.9737 15.4562 14.1412 16.7116 12.8968 17.6278C11.6516 18.544 10.155 19.002 8.40634 19.002C6.97963 19.002 5.70303 18.6842 4.57738 18.047C3.45116 17.411 2.57371 16.5265 1.94417 15.3932C1.31463 14.2602 1 12.9666 1 11.5117C1 10.057 1.31463 8.75945 1.94417 7.61938Z"
						fill="white"
					/>
				</g>
			</g>
			<g opacity="0.899994">
				<mask
					id="mask1_251_117"
					maskUnits="userSpaceOnUse"
					x="16"
					y="11"
					width="7"
					height="7"
				>
					<path
						d="M16.9648 11.6794H22.9993V17.1058H16.9648V11.6794Z"
						fill="white"
					/>
				</mask>
				<g mask="url(#mask1_251_117)">
					<path
						d="M18.3674 17.1058C17.2254 17.1058 16.5639 15.8126 17.2321 14.8862L19.5462 11.6794H22.9995L19.5029 16.5249C19.2395 16.8896 18.8172 17.1058 18.3674 17.1058Z"
						fill="white"
					/>
				</g>
			</g>
			<path
				d="M18.5932 6.623C17.4526 6.623 16.795 7.91854 17.4687 8.83924L21.2733 14.0389L23 11.6794L19.7177 7.19374C19.4554 6.83501 19.0376 6.623 18.5932 6.623Z"
				fill="white"
			/>
		</svg>
	),
	user: User,
	video: VideoIcon,
	warning: AlertTriangle,
	discord: ({ ...props }: LucideProps) => (
		<svg
			viewBox="0 0 256 199"
			xmlns="http://www.w3.org/2000/svg"
			preserveAspectRatio="xMidYMid"
			{...props}
		>
			<path
				d="M216.856 16.597A208.502 208.502 0 0 0 164.042 0c-2.275 4.113-4.933 9.645-6.766 14.046-19.692-2.961-39.203-2.961-58.533 0-1.832-4.4-4.55-9.933-6.846-14.046a207.809 207.809 0 0 0-52.855 16.638C5.618 67.147-3.443 116.4 1.087 164.956c22.169 16.555 43.653 26.612 64.775 33.193A161.094 161.094 0 0 0 79.735 175.3a136.413 136.413 0 0 1-21.846-10.632 108.636 108.636 0 0 0 5.356-4.237c42.122 19.702 87.89 19.702 129.51 0a131.66 131.66 0 0 0 5.355 4.237 136.07 136.07 0 0 1-21.886 10.653c4.006 8.02 8.638 15.67 13.873 22.848 21.142-6.58 42.646-16.637 64.815-33.213 5.316-56.288-9.08-105.09-38.056-148.36ZM85.474 135.095c-12.645 0-23.015-11.805-23.015-26.18s10.149-26.2 23.015-26.2c12.867 0 23.236 11.804 23.015 26.2.02 14.375-10.148 26.18-23.015 26.18Zm85.051 0c-12.645 0-23.014-11.805-23.014-26.18s10.148-26.2 23.014-26.2c12.867 0 23.236 11.804 23.015 26.2 0 14.375-10.148 26.18-23.015 26.18Z"
				fill="currentColor"
			/>
		</svg>
	),
};
